package com.feilong.edgeAI.remind.room.bean;

import android.os.Parcel;
import android.os.Parcelable;

import androidx.annotation.NonNull;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;

@Entity(tableName = "REMIND")
public class RemindBean implements Parcelable {
    public long getTimeStamp() {
        return timeStamp;
    }

    public void setTimeStamp(long timeStamp) {
        this.timeStamp = timeStamp;
    }

    public RemindBean(int code, String intent, String mode, String week, String eweek, String wkmode, String month, String day, String hour, long timeStamp, String date, String time, String object, String message, String action, String operation, String msg, String language) {
        this.code = code;
        this.intent = intent;
        this.mode = mode;
        this.week = week;
        this.eweek = eweek;
        this.wkmode = wkmode;
        this.month = month;
        this.day = day;
        this.hour = hour;
        this.timeStamp = timeStamp;
        this.date = date;
        this.time = time;
        this.object = object;
        this.message = message;
        this.action = action;
        this.operation = operation;
        this.msg = msg;
        this.language = language;
    }

    /**
     * code : 0
     * intent : addremind
     * mode : 0
     * week : 0
     * eweek : 0
     * wkmode : 0
     * month : 0
     * day : 0
     * hour : 0
     * date : 2024-07-11
     * time : 12:10:00
     * object : 1
     * message : 请给陈总打电话
     * action :
     * operation :
     * msg : 好的，10分钟后我会提醒您：请给陈总打电话
     * language : CN
     */

    @PrimaryKey(autoGenerate = true) // 设置主键
    @ColumnInfo(name = "CODE") // 定义对应的数据库的字段名成
    private int code;

    @ColumnInfo(name = "INTENT")
    private String intent;
    @ColumnInfo(name = "MODE")
    private String mode;
    @ColumnInfo(name = "WEEK")
    private String week;
    @ColumnInfo(name = "EWEEK")
    private String eweek;
    @ColumnInfo(name = "WKMODE")
    private String wkmode;
    @ColumnInfo(name = "MONTH")
    private String month;
    @ColumnInfo(name = "DAY")
    private String day;
    @ColumnInfo(name = "HOUR")
    private String hour;

    @ColumnInfo(name = "TIMESTAMP")
    private long timeStamp;
    @ColumnInfo(name = "DATE")
    private String date;
    @ColumnInfo(name = "TIME")
    private String time;
    @ColumnInfo(name = "OBJECT")
    private String object;
    @ColumnInfo(name = "MESSAGE")
    private String message;
    @ColumnInfo(name = "ACTION")
    private String action;
    @ColumnInfo(name = "OPERATION")
    private String operation;
    @ColumnInfo(name = "MSG")
    private String msg;
    @ColumnInfo(name = "LANGUAGE")
    private String language;

    public RemindBean(Parcel in) {
        this.code = in.readInt();
        this.intent= in.readString();
        this.mode= in.readString();
        this.week= in.readString();
        this.eweek= in.readString();
        this.wkmode= in.readString();
        this.month= in.readString();
        this.day= in.readString();
        this.hour= in.readString();
        this.timeStamp = in.readLong();
        this.date= in.readString();
        this.time = in.readString();
        this.object = in.readString();
        this.message = in.readString();
        this.action = in.readString();
        this.operation = in.readString();
        this.msg = in.readString();
        this.language = in.readString();
    }

    public static final Creator<RemindBean> CREATOR = new Creator<RemindBean>() {
        @Override
        public RemindBean createFromParcel(Parcel in) {
            return new RemindBean(in);
        }

        @Override
        public RemindBean[] newArray(int size) {
            return new RemindBean[size];
        }
    };

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(@NonNull Parcel parcel, int i) {
        parcel.writeInt(this.code);
        parcel.writeString(this.intent);
        parcel.writeString(this.mode);
        parcel.writeString(this.week);
        parcel.writeString(this.eweek);
        parcel.writeString(this.wkmode);
        parcel.writeString(this.month);
        parcel.writeString(this.day);
        parcel.writeString(this.hour);
        parcel.writeLong(this.timeStamp);
        parcel.writeString(this.date);
        parcel.writeString(this.time);
        parcel.writeString(this.object);
        parcel.writeString(this.message);
        parcel.writeString(this.action);
        parcel.writeString(this.operation);
        parcel.writeString(this.msg);
        parcel.writeString(this.language);
    }


    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getIntent() {
        return intent;
    }

    public void setIntent(String intent) {
        this.intent = intent;
    }

    public String getMode() {
        return mode;
    }

    public void setMode(String mode) {
        this.mode = mode;
    }

    public String getWeek() {
        return week;
    }

    public void setWeek(String week) {
        this.week = week;
    }

    public String getEweek() {
        return eweek;
    }

    public void setEweek(String eweek) {
        this.eweek = eweek;
    }

    public String getWkmode() {
        return wkmode;
    }

    public void setWkmode(String wkmode) {
        this.wkmode = wkmode;
    }

    public String getMonth() {
        return month;
    }

    public void setMonth(String month) {
        this.month = month;
    }

    public String getDay() {
        return day;
    }

    public void setDay(String day) {
        this.day = day;
    }

    public String getHour() {
        return hour;
    }

    public void setHour(String hour) {
        this.hour = hour;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    public String getObject() {
        return object;
    }

    public void setObject(String object) {
        this.object = object;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }
}
